gogo.proto : File not found
全部标签 我有一个名为myProtos的库,它看起来像这样.|--proto|----hello.proto||--generated└----hello.pb.go我在外部有一个名为example.proto的.proto文件,应该导入hello.proto所以文件的顶部是这样的:syntax="proto3";packageexample;import"path/to/myProtos/proto/hello.proto"现在,当我编译example.proto时,我在example.pb.go上遇到导入错误,因为它有导入行import"path/to/myProtos/原型(prototy
我完全陷入了Go中Protobuf的问题给定以下代码:ifproto.MessageName(&messages.AddedItemEvent{})==""{log.Fatal("empty")}这将评估为true并退出应用程序。什么可能使protobuf在MessageName上返回空字符串?我可以看到类型及其名称在生成的protobuf消息代码中按应有的方式注册:funcinit(){proto.RegisterType((*AddItemCommand)(nil),"messages.AddItemCommand")proto.RegisterType((*AddedItemEv
我想在.proto文件中定义一个Go类型。该类型是在.proto文件中定义的其他类型的slice。我有如下类型。typeSomeTypestruct{//fewfields}typeSomeTypes[]SomeType我在.proto文件中定义了SomeType,如下所示。messageSomeType{//}现在我想在.proto文件中定义SomeTypes类型。但我还没有找到任何方法来做到这一点。对我来说最简单的解决方案是更改类型SomeTypes如下:typeSomeTypesstruct{Content[]SomeType}然后我可以在.proto文件中将其定义为messag
我花了几个小时试图阅读有关如何在Golang中使用简单原型(prototype)文件的博客。我生成了.pb.go文件。所有Internet示例都充斥着从一些随机的"github...url进行导入以进行原型(prototype)导入。我找不到任何关于如何导入一个简单的原型(prototype)文件的示例,该文件与我的.go文件或diff目录。如何使用本地文件系统中的proto文件。gobuildhello.gohello.go:5:2:cannotfindpackage"customer"inanyof:/usr/local/go/src/customer(from$GOROOT)/U
我正在尝试生成一个返回自定义原型(prototype)对象的gRPC客户端。这是我当前的原型(prototype)命令protoc-I.:../--go_out=plugins=grpc:Muser/messages.proto=github.com/.../.../user:.消息.proto这是错误Muser/messages.proto=github.com/.../.../user:./:没有那个文件或目录但是这个命令:协议(protocol)-I.:../--go_out=Muser/messages.proto=github.com/.../.../user:.消息.pro
我正在尝试在gRPC中生成客户端和服务器代码。我已经从github安装了grpc目录并尝试生成C++代码。我安装了原型(prototype)编译器3.0.0。当我执行协议(protocol)时,出现以下错误$protoc-I../../protos/--grpc_out=.--plugin=protoc-gen-grpc=grpc_cpp_plugin../../protos/helloworld.protogrpc_cpp_plugin:programnotfoundorisnotexecutable--grpc_out:protoc-gen-grpc:Pluginfailedwit
我想在proto3消息中使用IP字段。我应该使用proto3中的哪种类型来表示相同的内容。该字段将由Golang和C#实现使用。我应该使用字符串吗?或IPV4的fixed32和IPV6的字节数?messagexyz{stringip_addr=1;}或messagexyz{oneofip_addr{fixed32v4=1;bytesv6=2;}如果是第二个,那么在Golang实现中如何编码呢?例如,我应该先构造一个具有有效IP地址的字符串,然后将其转换为fixed32格式还是如何? 最佳答案 如果您在这里没有性能限制,我会使用字符串
我正在搜索一个包来解析protobuf文件,然后找到这个[1]:github.com/gogo/protobuf/parser但是,当我尝试执行gogetgithub.com/gogo/protobuf/parser时,没有这样的包。有人知道这个包的另一种选择吗?[1]https://libraries.io/go/github.com%2Fgogo%2Fprotobuf%2Fparser 最佳答案 您正在使用来自Libraries.io的非官方和旧文档。使用最新的官方文档,并按照安装说明进行操作。GowithGadgets的Pro
我刚刚开始使用protobuf进行Go编程,现在我需要验证结构中的数据。我找到了govalidator,这似乎完美地满足了我的需要。它确实根据字段标签验证结构,比如typeContactstruct{firstNamestring`valid:"alpha,required"`lastNamestring`valid:"alpha,required"`emailstring`valid:"email,required"`}jdoe:=&Contact{firstName:"John",lastName:"Doe",email:"jdoe@mail.com"}ok,err=govalid
我已经为我打算生成的REST网络服务创建了一个包含所有必要消息和rpc函数的原型(prototype)文件。使用protoc-gen-swagger插件,我设法将该proto文件编译成swagger.json文件,一切看起来都很好,除了两件事,我似乎无法解决。swagger.json文件中的所有定义都以我的原型(prototype)文件包的名称为前缀。有办法摆脱这个吗?我消息的所有字段都是“可选的”。它们没有明确指定,但也没有指定为“必需”,根据定义,它们是可选的。Proto3不再支持必需/可选/重复,但即使我使用Proto2并添加这些关键字,它似乎也不会影响swagger.json输